package commonModels

import "gorm.io/gorm"

// Pager 分页器, 默认从第一页开始, 每页10条数据.
type Pager struct {
	Page  uint `json:"page" form:"page"`
	Size  uint `json:"size" form:"size"`
	Total uint `json:"total" form:"total"`
}

func (p *Pager) Scope(tx *gorm.DB) *gorm.DB {
	if p.Page == 0 {
		p.Page = 1
	}
	if p.Size == 0 {
		p.Size = 10
	}
	return tx.Offset(int((p.Page - 1) * p.Size)).Limit(int(p.Size))
}

var DefaultPager = &Pager{}
